Objects with dynamic scope may be allocated on a heap within the memory of the system on heap memory acquired from an allocator. For such objects, the decision as to when the object may be deleted and the memory occupied by the object returned to the allocator for use in future object allocations becomes important and may be made according to a memory management policy, which may be imposed by the programming environment (e.g., by the choice of programming language) or chosen by the programmer.